#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>

int main()
{
    printf("hello\n");
    perror("erro");
}





//输入重定向
//int main()
//{
//      int fd=open("myfile", O_RDONLY);
//      if(fd<0)
//      {
//          perror("open");
//          return 1;
//      }
//
//      char buffer[20];
//      dup2(fd,0);//让0指向fd的关联文件
//      int n=read(0,buffer,sizeof(buffer)-1); //从0读取信息，读取到buffer中
//      if(n==-1)
//          perror("read failed");
//      else
//          buffer[n]=0; //添加\0
//      printf("%s\n",buffer);
//}



//输出重定向：打印信息不在显示器，而在其他文件
//int main()
//{
//    int fd=open("myfile",O_WRONLY|O_CREAT,0666);
//    if(fd<0)
//    {
//        perror("open");
//        return 1;
//    }
//
//    dup2(fd,1);//让1指向fd关联的文件
//    printf("%s","你好世界\n");
//}
//

//int main()
//{
//    close(1);
//    //h文件获得fd=1
//    int fd=open("testfile",O_WRONLY|O_CREAT,0666);
//    //刷新缓冲区
//    fflush(stdout);
//    close(fd);
//}




//int main()
//{
//    int fd1=open("h1",O_WRONLY|O_CREAT,0666);
//    int fd2=open("h2",O_WRONLY|O_CREAT,0666);
//    int fd3=open("h3",O_WRONLY|O_CREAT,0666); 
//    int fd4=open("h4",O_WRONLY|O_CREAT,0666);
//    
//    printf("fd1:%d\n",fd1);
//    printf("fd2:%d\n",fd2);
//    printf("fd3:%d\n",fd3);
//    printf("fd4:%d\n",fd4);
//
//}




//int main()
//{
//    //读取不需要新建、也不需要清空
//   int fd=open("newfile",O_RDONLY);
//   if(fd<0)
//   {
//       perror("open");
//       return 1;
//   }
//
//   const char* msg="hello yuzuriha\n";
//   char buffer[20];
//   read(fd,buffer,strlen(msg));
//   printf("%s",buffer);
//   // write(fd,msg,strlen(msg));
//   close(fd);
//}

